其他
gitlab漏洞系列-存储型XSS所导致的管理员权限升级
背景
复现步骤
gitlab漏洞系列-存储型XSS所导致的管理员权限升级
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
背景
ryhmnlfj小哥于2022年1月份提交了这个漏洞:
在Markdown中发现了存储型XSS; 在某些条件下,可以实现权限提升;
复现步骤
受害者:
1.以受害者的身份登陆gitlab;
2.创建一个任何人都可以创建issue的公共项目;
3.在创建过issue之后,退出账号;
攻击者:
1.以攻击者的身份登陆gitlab;
2.创建一个私有项目;
3.在创建私有项目之后,从浏览器地址栏中显示的URL记录下[FULL_NAMESPACE]。
4.跳转至 issue>Milestones
而后点击New milestone
按钮;
5.用下面的标题创建一个里程碑:
New Milestone <script>alert(document.domain)</script>
6.跳转至受害者上面创建项目的 issue页面;
7.通过替换下面的字符串准备新问题(issue)的描述。用在攻击者第三步获取的值替换[FULL_NAMESPACE]
[FULL_NAMESPACE]%"New Milestone <script>alert(document.domain)</script>"
替换之后,用这个描述(就是上面一行的描述)创建一个新的issue:
8.登出
victim:
1.再次以受害者的身份登入gitlab;
2.转到攻击者第7步创建的问题页面。XSS将自动执行。